﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace AvaProvi
{
    class clsFraccionDeTerreno_CD
    {
        private dsTerreno dsTerreno;
        private dsTerrenoTableAdapters.FracionTerrenoTableAdapter TAFraccionDeTerreno;

        public clsFraccionDeTerreno_CD()
        {
            this.dsTerreno = new dsTerreno();
            this.dsTerreno.DataSetName = "dsTerreno";
            this.dsTerreno.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;

            this.TAFraccionDeTerreno = new AvaProvi.dsTerrenoTableAdapters.FracionTerrenoTableAdapter();
            this.TAFraccionDeTerreno.ClearBeforeFill = true;
            //Falta la cadena de conexion
        }

        public BindingList<dsTerreno.FracionTerrenoRow> RecuperaFraccionesDeTerreno(int IDAvaluo)
        {
            BindingList<dsTerreno.FracionTerrenoRow> blFracciones = new BindingList<dsTerreno.FracionTerrenoRow>();
            TAFraccionDeTerreno.RecuperaFraccionesDeTerreno(this.dsTerreno.FracionTerreno, IDAvaluo);
            foreach (dsTerreno.FracionTerrenoRow filaFraccion in this.dsTerreno.FracionTerreno)
            {
                blFracciones.Add(filaFraccion);
            }
            return blFracciones;
        }

        public bool CreaNuevaFraccionDeTerreno(clsFraccionDeTerreno_CRN objFraccion)
        {
            int RegistrosAfectados = TAFraccionDeTerreno.NuevaFraccionDeTerreno(
                objFraccion.Fraccion,
                objFraccion.MotivoCoeficiente,
                objFraccion.Indiviso,
                objFraccion.Superficie,
                objFraccion.FactorZona,
                objFraccion.FactorUbicacion,
                objFraccion.FactorFrente,
                objFraccion.FactorFondo,
                objFraccion.FactorSuperficie,
                objFraccion.FactorOtro,
                objFraccion.Terreno.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool ActualizaFraccionDeTerreno(clsFraccionDeTerreno_CRN objFraccion)
        {
            int RegistrosAfectados = TAFraccionDeTerreno.ActualizaFraccionDeTerreno(
                objFraccion.Fraccion,
                objFraccion.MotivoCoeficiente,
                objFraccion.Indiviso,
                objFraccion.Superficie,
                objFraccion.FactorZona,
                objFraccion.FactorUbicacion,
                objFraccion.FactorFrente,
                objFraccion.FactorFondo,
                objFraccion.FactorSuperficie,
                objFraccion.FactorOtro,
                objFraccion.IDFraccion,
                objFraccion.Terreno.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool EliminaFraccionDeTerreno(clsFraccionDeTerreno_CRN objFraccion)
        {
            int RegistrosAfectados = TAFraccionDeTerreno.EliminaFraccionDeTerreno(
                objFraccion.IDFraccion,
                objFraccion.Terreno.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }

    }
}
